﻿<?xml version="1.0" encoding="utf-8"?>
<!-- The following is the default attribute filter defined by the Sandcastle. -->
<attributeFilter expose="true">
    <!-- Most attributes in System.ComponentModel control designer behavior. Don't show them. -->
    <!-- The expections are attributes relating to data binding. Do show them. -->
    <namespace name="System.ComponentModel" expose="false">
        <type name="BindableAttribute" expose="true"/>
        <type name="BrowsableAttribute" expose="true" />
        <type name="ComplexBindingPropertiesAttribute" expose="true"/>
        <type name="DataObjectAttribute" expose="true"/>
        <type name="DefaultBindingPropertyAttribute" expose="true"/>
        <type name="DefaultEventAttribute" expose="true"/>
        <type name="DefaultPropertyAttribute" expose="true"/>
        <type name="DefaultValueAttribute" expose="true"/>
        <type name="DesignerSerializationVisibilityAttribute" expose="true"/>
        <type name="EditorAttribute" expose="true"/>
        <type name="EditorBrowsableAttribute" expose="true"/>
        <type name="ExtenderProvidedProperty" expose="true"/>
        <type name="ListBindableAttribute" expose="true"/>
        <type name="LookupBindingPropertiesAttribute" expose="true"/>
        <type name="ProvideProperty" expose="true"/>
        <type name="SettingsBindableAttribute" expose="true"/>
        <type name="TypeConverterAttribute" expose="true"/>
    </namespace>
    <namespace name="System.ComponentModel.Design" expose="false" />
    <!-- Most attributes in System.Diagnostics control debugger behavior. Don't show them. -->
    <namespace name="System.Diagnostics" expose="false">
        <type name="ConditionalAttribute" expose="true"/>
        <type name="EventLogPermissionAttribute" expose="true"/>
        <type name="PerformanceCounterPermissionAttribute" expose="true"/>
    </namespace>
    <!-- Attributes in System.Diagnostics.CodeAnalysis control interaction with FxCop. Don't show them. -->
    <namespace name="System.Diagnostics.CodeAnalysis" expose="false" />
    <!-- Attributes in System.EnterpriseServices control obscure details of COM+ interop. Don't show them. -->
    <namespace name="System.EnterpriseServices" expose="false" />
    <!-- The DefaultMember attribute is usually compiler-generated. Users will see it from the member syntax. -->
    <namespace name="System.Reflection" expose="true">
        <type name="DefaultMemberAttribute" expose="false" />
    </namespace>
    <!-- Attributes in System.Runtime.CompilerServices control obscure details of compilation. Don't show them. -->
      <namespace name="System.Runtime.CompilerServices" expose="false">
        <type name="ExtensionAttribute" expose="true" />
      </namespace>
    <!-- Attributes in System.Runtime.ConstrinedExecution control obscure details of compilation. Don't show them. -->
    <namespace name="System.Runtime.ConstrainedExecution" expose="false" />
    <!-- Most atributes in System.Runtime.InteropServices control obscure details of COM interop. Don't show them. -->
    <namespace name="System.Runtime.InteropServices" expose="false">
        <type name="ComVisibleAttribute" expose="true"/>
        <type name="GuidAttribute" expose="true"/>
        <type name="ClassInterfaceAttribute" expose="true"/>
        <type name="InterfaceTypeAttribute" expose="true"/>
    </namespace>
    <!-- Attributes in System.Runtime.Versioning control details of resource loading. Don't show them. -->
    <namespace name="System.Runtime.Versioning" expose="false" />
    <!-- Attributes in System.Security might hint as security implementation details. Don't show them. -->
    <namespace name="System.Security" expose="false">
        <type name="SecurityCriticalAttribute" expose="true" />
		<type name="SecurityTreatAsSafeAttribute" expose="true" />
        <type name="AllowPartiallyTrustedCallersAttribute" expose="true" />
    </namespace>
    <!-- Attributes in System.Web.Compilation control interaction with the Expression designer. Don't show them. -->
    <namespace name="System.Web.Compilation" expose="false" />
    <!-- The ASP.NET team only wants these attributes exposed from their namespace. Their logic ecscapes me, but here it is. -->
    <namespace name="System.Web.UI" expose="false">
        <type name="ControlValuePropertyAttribute" expose="true"/>
        <type name="PersistenceModeAttribute" expose="true" />
        <type name="ValidationPropertyAttribute" expose="true"/>
        <type name="WebResourceAttribute" expose="true"/>
        <type name="TemplateContainerAttribute" expose="true"/>
        <type name="ThemeableAttribute" expose="true"/>
        <type name="TemplateInstanceAttribute" expose="true"/>
    </namespace>
    <!-- Don't show attributes related to XAML serialization details. -->
    <namespace name="System.Windows.Markup" expose="true">
        <type name="ConstructorArgumentAttribute" expose="false" />
        <!-- <type name="DependsOnAttribute" expose="false" /> -->
        <type name="DesignerSerializationOptionsAttribute" expose="false" />
        <type name="ValueSerializerAttribute" expose="false" />
        <type name="XmlnsCompatibleWithAttribute" expose="false" />
        <type name="XmlnsDefinitionAttribute" expose="false" />
        <type name="XmlnsPrefixAttribute" expose="false" />
    </namespace>
    <!-- Attributes in System.Xml.Serialization control obscure details of XML serialization. Don't show them.-->
    <namespace name="System.Xml.Serialization" expose="false" />
    <!-- The GeneratedCodeAttribute is useful only to tools, and should be hidden from end users.-->
	<namespace name="System.CodeDom.Compiler" expose="true">
        <type name="GeneratedCodeAttribute" expose="false" />
    </namespace>
</attributeFilter>

